package com.hzsparrow.ai.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzsparrow.ai.entity.KnowledgeBase;

import java.util.List;

/**
 * 知识库服务接口
 */
public interface KnowledgeBaseService extends IService<KnowledgeBase> {
    
    /**
     * 创建知识库
     *
     * @param knowledgeBase 知识库信息
     * @return 创建的知识库
     */
    KnowledgeBase createKnowledgeBase(KnowledgeBase knowledgeBase);
    
    /**
     * 获取知识库详情
     *
     * @param id 知识库ID
     * @return 知识库信息
     */
    KnowledgeBase getKnowledgeBase(Long id);
    
    /**
     * 更新知识库
     *
     * @param knowledgeBase 知识库信息
     * @return 更新后的知识库
     */
    KnowledgeBase updateKnowledgeBase(KnowledgeBase knowledgeBase);
    
    /**
     * 删除知识库
     *
     * @param id 知识库ID
     * @return 是否删除成功
     */
    boolean deleteKnowledgeBase(Long id);
    
    /**
     * 获取用户的所有知识库
     *
     * @param userId 用户ID
     * @return 知识库列表
     */
    List<KnowledgeBase> getUserKnowledgeBases(Long userId);
    
    /**
     * 分页查询知识库列表
     *
     * @param page 页码
     * @param size 每页大小
     * @param userId 用户ID（可选）
     * @return 知识库分页列表
     */
    Page<KnowledgeBase> listKnowledgeBases(int page, int size, Long userId);
} 